Key Concepts
Let’s take a look at some of the important concepts to help you get more familiar with BuildPiper.
#
ServicesA Service in Kubernetes is an abstraction that defines a logical set of pods and a policy that is used to access them. These services enable a loose coupling between dependent pods. A service is defined using YAML (preferred) or JSON, like all Kubernetes objects.
#
ClusterA Kubernetes cluster is a set of nodes that run containerized applications. A Kubernetes cluster consists of one master node and a number of worker nodes. These nodes can either be physical computers or virtual machines, depending on the cluster.
#
ApplicationsAn application is a combination of multiple Microservices that clubs together to perform a specific function. A project is a bundle of applications. Assigned within a project, these applications get structured as a collection of services to become entities that are,
- Highly maintainable
- Loosely coupled
- Independently deployable
- Organized around business capabilities
- Owned by a small team The microservice architecture enables rapid, frequent, and reliable delivery of such large and complex applications thus enabling organizations to enable a quick and secured product release.
#
DockerfileDocker can build images automatically by reading the instructions from a Dockerfile. A Dockerfile is a text document that contains all the commands a user can call on the command line to assemble an image. Using docker build users can create an automated build that executes several command-line instructions in succession.
#
Jobs in KubernetesA job creates one or more pods and will continue to retry execution of the Pods until a specified number of them successfully terminate. As pods successfully complete the assigned task, the Job tracks the successful completions. When a specified number of successful completions is reached, the task (ie, Job) is complete. Deleting a Job will clean up the Pods it created. Our product Buildpiper supports secure and intuitive set-up of 4 job types that include,
- Build
- Deploy
- Promote
- API Call
#
AutoscalingAutoscaling is an important feature of the Kubernetes cluster. It is a feature in which the cluster is capable of increasing the number of pods as the demand for service response increases and decreases the number of pods when the requirement decreases.
#
IngressIngress is an API object that provides routing rules to manage external users' access to the services in a Kubernetes cluster, typically via HTTPS/HTTP. With Ingress, you can easily set up rules for routing traffic without creating a bunch of Load Balancers or exposing each service on the node. Click here to know more about Ingress.